#pragma once
#include "Emitter.h"
class CParticle 
{
	



public:
	CParticle() = default;
	//Powerful constructor
	CParticle(float prmLifetime,
	SGD::Size prmSize,
	SGD::Point prmPos,
	SGD::Vector prmVel,
	SGD::Color prmColor,
	float prmAlpha,
	float prmScale,
	float prmCurRot,
	SGD::Vector prmRotVel,float prmRespawnRate);

	void Update(float _elapsedTime, SGD::Point prmEmitPos);

	void GiveLife();

	~CParticle() = default;
	float FindCurrentSize();

	//Data members. TODO: properly make private
	bool m_bAlive;
	float m_fRespawnRate,m_fSpawnRate;
	float m_fCurrentLife , m_fLifetime;
	SGD::Size m_sizSize;
	SGD::Point m_poiPos;
	SGD::Vector m_vecVelocity;
	SGD::Color m_colColor;
	float m_fAlpha;
	float m_fScale;
	float m_fCurRot;
	SGD::Vector m_vecRotationVelocity;
};

